#! /usr/bin/lua
---
-- @file
-- @brief Lua示例脚本：函数线程
-- @author
-- + 隐星魂 (Roy Sun) <xwos@xwos.tech>
-- @copyright
-- + Copyright © 2015 xwos.tech, All Rights Reserved.
-- > Licensed under the Apache License, Version 2.0 (the "License");
-- > you may not use this file except in compliance with the License.
-- > You may obtain a copy of the License at
-- >
-- >         http://www.apache.org/licenses/LICENSE-2.0
-- >
-- > Unless required by applicable law or agreed to in writing, software
-- > distributed under the License is distributed on an "AS IS" BASIS,
-- > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- > See the License for the specific language governing permissions and
-- > limitations under the License.
--

function childthd_main ()
  print("Child Thread:", xwos.cthd.sp())
  result = {}
  result.func = function ()
    print("OK")
  end
  result.msg = "OK"
  result.tab = {0, 1, 2}
  result[{"0", "1", "2"}] = {0, 1, 2}
  mt = {
    ["__os"] = "XWOS"
  }
  setmetatable(result, mt);
  return result
end
childsp = xwos.thd.call(childthd_main, true)
rc, rctab = childsp:join()
print(rctab.msg)
rctab.func()
mt = getmetatable(rctab)
print(mt.__os)
childsp = nil
collectgarbage()
